module dungeon.map_object;

import nade.vector;

import dungeon.map;


class MapObject {
	this(Map map)
	{
		_map = map;
	}
	this(Map map, const Vector2i coord)
	{
		_map = map;
		enterTile(coord);
	}

	void render()
	{
	}

	void enterTile(const Vector2i coord)
	{
		_map.enterTile(coord, this);
	}
	void leaveTile(const Vector2i coord)
	{
		_map.leaveTile(coord, this);
	}

	bool passable() { return true; }
	uint zIndex() { return 1; }

	Map map() { return _map; }

	Vector2i coord() { return _coord; }
	Vector2i coord(const Vector2i rhs) { return _coord = rhs; }

	protected {
		Map				_map;
		Vector2i		_coord;
	}
}
